package isPerfectSquare;

public class Solution {
    public static void main(String[] args) {
        System.out.println(isPerfectSquare(1));

    }
    public static boolean isPerfectSquare(int num) {
        if(num==1){
            return true;
        }
        int l=0;
        int r=num;
        int mid=0;
        while(l<=r){
            mid=l+(r-l)/2;
            int t=num/mid;
            if(t<mid){ //mid大了，要找的数在mid左边 num/mid>mid
                r=mid-1;
            }else if(t>num){ //mid小了，要找的数在mid右边
                l=mid+1;
            }else{ //相等，返回true
                return true;
            }
        }
        return false;
    }
}
// 因子
// 二分查找因子
//  1
//  l    r    mid
//  0    1    8
//  0    8    4
